1.简介
###logify是THEOS自带的为代码添加Log的工具,可以使用该工具给指定的类添加Log代码并且生成一个新的Tweak.xm文件
2.用法
2.1 准备工作
2.1.1 安装Theos
首先需要安装Theos,安装完成之后会默认安装此工具。
2.1.2 将APP脱壳,有两种方式可以获得脱壳的APP
2.1.2.1 无越狱机
通过PP助手去越狱市场下载脱壳的ipa,有时下载下来的也不一定是脱壳后的,你可以通过在终端执行以下命令
1
otool -l target.app/target | grep crypt
如果输出
1
2
3cryptoff 16384
cryptsize 58753024
cryptid 0 //0 代表已经砸壳,1代表未砸壳
2.1.2.2 有越狱机
你需要一台越狱机器,安装完整版之后通过工具来脱壳,这个时候你也有两个方法获得脱壳应用。方法一:你可以使用dumpdecrypted工具来砸壳。方式二:你也可以使用庆总开源的工具frida-iOS-dump一条命令行进行砸壳。
2.1.3 class-dump 出头文件
通过以上的方式得到砸壳后的应用之后,需要利用clas-dump工具dump出头文件。具体的用法如下
1 | class-dump -s -S -H target.app/target -o /path/to/save/header |
2.1.4 使用logify工具生成Tweak.xm文件
该文件里面会hook该头文件对应的类,并且会在代码里面加上Log打印
用法如下:
1 | logify.pl HookHeader.h的全路径 >Tweak.xm |
如果要跟踪多个头文件,则继续转换:
1 | logify.pl 其它头文件 >> Tweak.xm |
注意中间是 >>
2.1.5 使用nic.pl命令来生成Theos工程,选择Teak工具。
2.1.6 创建完Tweak工程之后,将在2.1.4中生成的Tweak.xm替换掉工程中的Teak.xm.不过此时还需要对该文件做一些修改
a.去掉.cxx_destruct 方法
b.将HBLogDebug 改为NSLog
然后修改makefile文件,在最上面那一行增加
THEOS_DEVICE_IP = 你的设备的IP
2.1.7
使用一下make package install 生成deb包,并且安装到越狱设备上。
2.1.8 运行目标APP,观察日志。
有两种方法可以观察日志,第一种是通过xcode->window->Device and simulators->view device logs 。
第二种是通过idevicesyslog -u udid 来查看特定设备的日志。这种方式需要安装libimobiledevice